/*
 * @version: 1.0
 * @Author: zhl
 * @Date: 2021-08-30 14:14:38
 * @LastEditors: zhl
 * @LastEditTime: 2021-09-26 09:27:11
 * @Description: file content
 */
#ifndef __DLT698_MAIN_H__
#define __DLT698_MAIN_H__

#include <unordered_map>

#include "dlt698_global.h"
#include "IModule.h"

#ifdef __cplusplus
extern "C"{
#endif


extern char *get_module_name();


extern int run(std::shared_ptr<CConfigManager> cm, 
               std::shared_ptr<SerialProxy> sp_ptr, 
               std::shared_ptr<CMosquittoManager> mm,
               IModule &im,
               std::shared_ptr<TASK_PARAMS> task_params);
              

extern int packet_parent_frame(std::shared_ptr<CConfigManager> cm, 
                                std::shared_ptr<TERMINAL_DEVICE> pdev, 
                                uint8_t *data, int &len);

extern int parse_parent_frame(std::shared_ptr<CConfigManager> cm, uint8_t *data, int &len);



#ifdef __cplusplus
}
#endif






#endif /* __DLT698_MAIN_H__ */